Добрый вечер, только что закончил делать вывод новостей из БД с постраничной разбивкой. Но не могу теперь разобраться как сделать переключение страниц без обновления страницы, делаю следующим образом:
$(".pagination a").click(function(e){ // клик по номеру страницы
e.preventDefault(); // отменяем обновление
var url = $(this).attr('href').split('/')[5]; // определяем последний параметр ссылки который был указан в хрефе нажатой "a"
$('#content').load('feeds/page/'+url+' #content'); // подставляем полученную переменную в ссылку на страницу с блоком которые и нужно обновить на текущей странице
});
И все вроде бы хорошо, обновление происходит, контент подгружается без обновления, вот только сам пейджер (переключатель) страниц не работает. То есть нажимаем мы например на цифру 3 - контент который должен находиться на 3-й странице подтянулся, но пейджер так и остался на первой странице...
вот разметка всего блока:
<div id="content">
<?php foreach ($post_array as $feeds):?>
<div class="row feed">
<div class="col-md-12">
<div class="info-block">
<div class="info-text">
<a href="/feeds/news/<?=$feeds['key_n']?>" target="_blank">
<div class="news-title-container">
<h3><span class="color-text"><?=mb_substr($feeds['title'],0,50,'UTF-8')?>...</span></h3>
</div>
<div class="news-txt-container">
<p><?=mb_substr($feeds['txt'],0,300,'UTF-8')?>...</p>
</div>
<br>
<?php if ($feeds['img'] == "") {}else{?>
<a class="fancyimage" rel="group1" href="/library/img/news/<?=$feeds['img']?>">
<img class="img-news" src="/library/img/news/<?=$feeds['img']?>" alt="Новости превью" />
</a>
<?php }?>
<span class="mow_news" style="pointer-events:none;">ОТ: <?=$feeds['date']?></span><br>
<a href="/feeds/news/<?=$feeds['key_n']?>" target="_blank"><span class="mow_news">ЧИТАТЬ ДАЛЕЕ</span></a>
</a>
</div>
</div>
</div>
</div>
<br>
<br>
<?php endforeach?>
</div>
<?php echo $this->pagination->create_links();?> // здесь выводиться разметка пейджера
Вот обработчик пейджера на сервере:
//КОНТРОЛЛЕР
function page() {
$this->load->library('pagination');
$config['base_url'] = base_url().'feeds/page/';
$config['total_rows'] = $this->db->count_all('feeds');
$config['per_page'] = '2';
$config['full_tag_open'] = '<p class="pagination">';
$config['full_tag_close'] = '</p>';
$config['first_link'] = '<span class="first_last">ПЕРВАЯ</span>';
$config['last_link'] = '<span class="first_last">ПОСЛЕДНЯЯ</span>';
$config['next_link'] = '<i class="fa fa-caret-square-o-right" aria-hidden="true"></i>';
$config['prev_link'] = '<i class="fa fa-caret-square-o-left" aria-hidden="true"></i>';
$this->pagination->initialize($config);
$this->data['post_array'] = $this->main_model->get_feeds($config['per_page'], $this->uri->segment(3));
$this->load->view('pages/feeds/index', $this->data);
$this->load->view('pages/rooms/index');
}
// МОДЕЛЬ
function get_feeds($num, $offset){
$this->db->order_by("id", "desc");
$query = $this->db->get('feeds',$num, $offset);
return $query->result_array();
}
И на всякий случай, ссылка на страницу о которой идет речь:
ссылка
У меня есть предположение что выбранный мною метод .load() - это не самое лучшее решение, но другого я увы не знаю, прошу помочь. Буду благодарен за любую помощь